     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
                                   ARC4/CMD 
     
                             File Archive Utility 
                           Version 01.00.00 12/11/86 
                               for TRSDOS 6.x.x 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
          (C) COPYRIGHT 1985, 1986 by System Enhancement Associates; 
                              ALL RIGHTS RESERVED 
     
        TRSDOS 6.x.x adaptations (C) COPYRIGHT 1986 by David Huelsmann; 
                              ALL RIGHTS RESERVED 
     
     
    This document describes the ARC4 file utility, version 01.00.00,  which 
    was based on the MS-DOS ARC created by System Enhancement Associates. 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 2 
     
     
                               Table of Contents 
     
     
     
    Table of contents  ...............................................   2 
    Introduction  ....................................................   3 
    Using ARC4 .......................................................   5 
    ARC4 commands  ...................................................   6 
        Adding files  ................................................   6 
        Extracting files  ............................................   7 
        Deleting files  ..............................................   8 
        Listing archive entries  .....................................   8 
        Printing files  ..............................................   9 
        Testing an archive  ..........................................  10 
    ARC4 options  ....................................................  10 
        Backup retention  ............................................  10 
        Encryption/decryption  .......................................  11 
    MS-DOS ARC File Compatibility  ...................................  12 
    Technical Support  ...............................................  12 
    Version numbers  .................................................  13 
    Common questions and answers  ....................................  13 
    Revision history  ................................................  14 
    Program history and credits  .....................................  14 
    Site license  ....................................................  16 
    Site License Agreement  ..........................................  17 
    Order form  ......................................................  18 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 3 
     
     
                                 INTRODUCTION 
     
     
     
    ARC is the copyrighted property of System Enhancement Associates. Since 
    ARC4 is a derivative  work based  on ARC,  it,  too, is the copyrighted 
    property  of   System   Enhancement   Associates.   The  TRSDOS   6.x.x 
    modifications are the  copyrighted property of David Huelsmann. You     
    are  granted  a  limited  license  to use  ARC4,  and  to  copy it  and 
    distribute it, provided that the following conditions are met: 
     
         1) No fee may be charged for such copying and distribution. 
     
         2) ARC4 may ONLY be distributed in its original, unmodified state. 
     
     
    Any  voluntary contributions  for  the  use  of  this program  will  be 
    appreciated, and should be sent to: 
     
                         System Enhancement Associates 
                                 21 New Street 
                               Wayne, NJ   07470 
     
    You may  not  use  this  product  in  a  commercial  environment  or  a 
    governmental  organization without paying  a  license fee of  $35. Site 
    licenses and commercial distribution  licenses  are  available. See the 
    order form in the back of this manual for more details. 
     
     
     
    A word about user supported software: 
     
    The user supported software concept (usually referred to  as  freeware) 
    is an attempt  to provide software at low cost. The  cost of offering a 
    new product by conventional means is  staggering,  and  hence dissuades 
    many  independent authors  and  small  companies  from  developing  and 
    promoting their ideas. User supported software is an attempt to develop 
    a new marketing channel, where products can be introduced at low cost. 
     
    If  user supported software works, then everyone will benefit. The user 
    will benefit by  receiving quality products at low cost,  and  by being 
    able  to  "test drive"  software thoroughly  before  purchasing it. The 
    author  benefits  by being able to enter the commercial  software arena 
    without first needing large sources of venture capital. 
     
    But it  can only work with  your support. We're not just talking  about 
    ARC and ARC4 here, but  about all user  supported software. If you find 
    that you   are still using a  program  after a  couple  of  weeks, then 
    pretty obviously it is worth something to you, and you should send in a 
    contribution. 
     
    And now, back to ARC4: 
     
    ARC4  is used to create  and maintain file archives.  An  archive  is a 
    group of files collected together into one file in such a way that the  
    individual files may be recovered intact. 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 4 
     
     
    ARC4 is different from other archive and  library utilities in that  it 
    automatically   compresses  the  files  being  archived,  so  that  the 
    resulting archive takes up a minimum amount of space. 
     
    When ARC4  is used to add a file to an  archive it analyzes the file to 
    determine which of three storage methods will result in  the  greatest  
    savings. These three methods are: 
     
    1) No compression; the file is stored as is. 
     
    2) Repeated-character compression;  repeated sequences of the same byte 
    value are collapsed into a three-byte code sequence. 
     
    3) Huffman  squeezing with repeated-character compression; the  file is 
    compressed into variable length bit strings, similar to the method used 
    by the SQ programs. 
     
     
    Note  that since  one of the three  methods  involves no compression at 
    all, the resulting archive entry will never be larger than the original 
    file. 
     
     
    An interesting note: It has been brought to SEA's attention that BASIC  
    programs compress to a smaller size when they are not tokenized. If you 
    are  more concerned with space than speed, you may wish to convert your 
    BASIC  programs to  ASCII form before adding  them to  an archive. Your 
    BASIC manual should give instructions on how to do this. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 5 
     
     
                                  USING ARC4 
     
     
     
    ARC4 is invoked with a command of the following format: 
     
                     ARC4 <x> <arcname> [<template> . . .] 
     
    Where: 
     
    <x> is an ARC4 command  letter  (see  below), in either upper  or lower 
    case. 
     
    <arcname> is the name  of  the archive  to  act on, with or  without an 
    extension. If  no  extension is supplied,  then  "/ARC" is assumed. The 
    archive name may include a drive specifier. 
     
    <template>  is  one  or  more  file  name  templates.   The  "wildcard" 
    characters "$", "*" and  "?" may be used. A "!"  may be used to reverse 
    the sense of the wildcard following. A file name template may include a 
    drive specifier. 
     
    If  ARC4  is  invoked with no arguments (by typing "ARC4", and pressing 
    "enter"), then a brief command summary is displayed. 
     
     
     
    The following is an example of the display when ARC4 is invoked with no 
    arguments: 
     
                      ARC4/CMD Version 01.00.00 12/11/86   
          (C) COPYRIGHT 1985,1986 by System Enhancement Associates   
                            ALL RIGHTS RESERVED  
       TRSDOS 6.x.x adaptations (C) COPYRIGHT 1986 by David Huelsmann  
                            ALL RIGHTS RESERVED 
                      Distributed with permission of SEA 
     
    Usage: ARC4 [aumdexplvt][b][g{password}] archive [file(s)][>*pr][>file] 
              Where:   a,u = Add (update) file(s) to archive 
                       m   = Move file(s) to archive 
                       d   = Delete file(s) in archive 
                       e,x = Extract file(s) from archive 
                       p   = Print file(s) in archive to CRT 
                       l,v = List table of contents (verbose) to CRT 
                       t   = Test archive integrity 
                       b   = Backup copy of archive retained 
                       g   = Garble (encrypt/decrypt) archive file(s) 
     
           Refer to program documentation for complete instructions 
         and limitations on copying and distribution of this program. 
     
 
 
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 6 
     
     
                                 ARC4 COMMANDS 
     
     
     
    This section describes each of the commands. ARC4  will accept  any one 
    command at a time. If  no commands are given, then a brief command list 
    is displayed as shown on the previous page. 
     
     
     
    ADDING FILES 
     
    Files are added to an archive using the "A" (Add), "U" (Update), or "M" 
    (Move)  commands.  Add and Update are the same and always add the file. 
    Move differs from  Add  and  Update in that  the source file is deleted 
    once it has been added to the archive. 
     
     
     
    For  example, if you  wish to add a file named "TEST/DAT" to an archive 
    named "MY/ARC", you would use a command of the form: 
     
                              ARC4 a my test/dat 
                                      or 
                              ARC4 a my test.dat 
                                      or 
                              ARC4 u my test/dat 
     
    Note  that ARC4 will automatically supply the extension /ARC. You could 
    also supply the  drive specifier on the archive without  the  extension 
    such  as "my:1". ARC4 will  read  this as MY/ARC:1.  ARC4 will accept a 
    different extension than  /ARC for the archive  file if you wish. Note, 
    also, that ARC4 will  accept either the slash "/" or a period "." as an 
    extension delimeter in the extensions of files. 
     
    If you wanted to  add all files  with a  "/C" extension,  and all files 
    named "STUFF"  to  an  archive named "JUNK/ARC" located on drive 1, you 
    could type: 
     
                            ARC4 a junk *.c stuff.* 
                                      or 
                           ARC4 a junk:1 $/c stuff.* 
     
    Note that failure to supply a drive specifier when using wildcards will 
    cause the addition of all files that match the wildcard on ALL drives. 
     
    If  you wanted to  move all files on  drive  2  into  an archive  named 
    "SUM/ARC" on drive 1, you could use a command of the form: 
     
                              ARC4 m sum:1 $/$:2 
     
    Note that after the  files are placed in  the archive, they are  killed 
    from the source drive. 
     
     
     
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 7 
     
    Archive entries are  always maintained  in  alphabetic  order.  Archive 
    entries may not have duplicate names. If you add  a file to  an archive 
    that already contains a file by that name,  then the existing entry  in 
    the archive is replaced.  Also, the  archive itself and its backup will 
    not be added. 
     
    You cannot  add two  files with  the same name.  In other words, if you 
    have a  file  named "STUFF/TXT:0" and another file named "STUFF/TXT:1", 
    then typing: 
     
                        ARC4 a junk stuff/$:0 stuff/$:1 
     
    will not work. 
     
     
    ARC4 does  not save  the  drive  specifier or  any  passwords. In other 
    words, if you specify a drive and/or password when adding  a file, only 
    the actual file name is stored in the archive. 
     
     
    ARC4 will never add an archive to itself, nor will it add the temporary 
    copy or a backup copy of the archive. 
     
     
     
    EXTRACTING FILES 
     
    Archive entries  are extracted with the "E" (Extract) and "X" (eXtract) 
    commands.  For example, if you had an archive named "JUNK/ARC", and you 
    wanted all  files in it with an extension  of  "/TXT"  or "/DOC"  to be 
    recreated on your disk, you could type: 
     
                            ARC4 e junk $/txt $/doc 
                                      or 
                            ARC4 x junk $/txt $/doc 
     
    Note that in the above examples, the files would be  extracted to drive 
    0. 
     
    If  you  wanted  to extract  all of  the  files  in  an  archive  named 
    "JUNK/ARC", you could simply type: 
     
                                  ARC4 e junk 
                                      or 
                                 ARC4 e $/$:2 
     
    Note that in the first example, all files would be extracted to drive 0 
    and in the second example, all files would be extracted to drive 2. 
     
    Whatever method of  file  compression was used in storing  the files is 
    reversed, and uncompressed  copies are created. If a file with the same 
    name already exists on  the drive specified,  you  will be asked if you 
    wish to overwrite the file. 
     
    You can also specify a  drive specifier, in which case the decompressed 
    copy is  placed on the specified  drive.If you give more than one drive 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 8 
     
    for a file,  then  only the  first one is used.    For  example, if you 
    typed: 
     
                     ARC4 x junk:1 trash/txt:1 trash/txt:2 
     
    then TRASH/TXT will be placed on drive 1. 
     
     
     
    DELETING FILES 
     
    Archive  entries  are deleted  with  the  "D"  (Delete)  command.   For 
    example,  if  you had an archive named "JUNK/ARC", and  you  wished  to 
    delete all entries in it with a  filename extension of "/C",  you could 
    type: 
     
                                ARC4 d junk $/c 
     
    Note that deleted files  cannot be  recovered (unless you  specified to 
    keep  a  backup copy of  the  archive).  ARC4 recovers  all space  from 
    deleted files. 
     
     
    LISTING ARCHIVE ENTRIES 
     
    You can obtain a  list of the  contents of an archive  by using the "L" 
    (List) command or the "V" (Verbose list) command. Both commands display 
    exactly the same  thing  in ARC4. For  example,  to  see what  is in an 
    archive named "JUNK/ARC", you could type: 
     
                                  ARC4 l junk 
                                      or 
                                  ARC4 v junk 
     
     
    ARC4 prints a listing of an archive's contents like this: 
     
     
  Name          Length    Stowage    SF   Size now  Date       Time    CRC 
  ============  ========  ========  ====  ========  =========  ======  ==== 
  ARC4.C           27318  Squeezed   45%     15248  28 Dec 86   1:23p  69e4 
  ARC4.H            5239  Squeezed   40%      3194  28 Dec 86   1:26p  5f5d 
  ARC42.C          20620  Squeezed   44%     11617  28 Dec 86   1:26p  6d9e 
  ARC42.H           5245  Squeezed   38%      3265  28 Dec 86   1:28p  2f7f 
  ARC43.C          23682  Squeezed   43%     13538  28 Dec 86   1:28p  2a53 
  ARC43.JCL          161     --       0%       161  28 Dec 86   1:30p  4fd8 
  COMPARC.JCL        249     --       0%       249  28 Dec 86   1:31p  c134 
          ====  ========            ====  ======== 
  Total      7     82514             43%     47272   
     
     
    "Name" is simply the name of the file. 
     
    "Length" is the unpacked file length.  In other words, it is the number 
    of  bytes  of  disk space which the  file  would take  up  if  it  were 
    extracted. 
     
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 9 
     
    "Date"  is  the  date  on  which the file  had last  been added  to the 
    archive. 
     
    "Total" is pretty obvious, I think. 
     
    "Stowage"  is the compression method  used.  The  following compression 
    methods are currently employed: 
     
                --          No compression. 
              Packed        Runs of repeated byte values are collapsed. 
             Squeezed       Huffman squeeze technique employed. 
     
    "SF" is the stowage factor. In other words, it is the percentage of the 
    file length which was saved by compression. The total stowage factor is 
    the stowage factor  for  the archive as a whole,  not  counting archive 
    overhead. 
     
    "Size  now" is the number  of bytes the file is  occupying while in the 
    archive. 
     
    "Time" is the time of last  addition  to the archive, and is associated 
    with the date of last addition. 
     
    "CRC" is the  CRC-16 check value which has  been stored with  the file. 
    Another CRC-16 value will  be calculated when the  file is extracted or 
    tested to ensure data integrity. There is no especially good reason for 
    displaying this value. 
     
     
     
    PRINTING FILES 
     
    Archive entries  may  be  examined  with the  "P" (Print) command. This 
    works the same as the Extract  command, except that  the files are  not 
    created  on  disk  and  the high bit is  set  to zero  and  unprintable 
    characters are converted to periods. Instead, the contents of the files 
    are written to the CRT.  For example, if you wanted to see the contents 
    of  every "/TXT" file in an archive  named  "JUNK/ARC", but didn't want 
    them saved on disk, you could type: 
     
                               ARC4 p junk $/txt 
     
    Note that you can pause the output to  your CRT by pressing shift @ and 
    then can  resume  by pressing any key. Pressing <BREAK> during printing 
    will exit you from the program back to DOS. 
     
    If  you wanted  the files to be printed on  your  printer instead of on 
    your screen, you could type: 
     
                            ARC4 p junk $/txt >*pr 
     
    Note  that  no  check is  done to ensure your printer is online and the 
    program will appear to "hang" until the printer is online. 
     
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 10 
     
     
    TESTING AN ARCHIVE 
     
    The  integrity  of an archive  may  be  tested by use of the "T" (Test) 
    command. This checks  to make sure that  all  of the file  headers  are 
    properly placed, and that all of the files are in good shape. 
     
    This  can be very  useful  for critical archives,  where data integrity 
    must be assured. When  an archive is tested,  all of the entries in the 
    archive are  unpacked (without saving them  anywhere) so that a  CRC-16 
    check value may  be calculated and  compared with the  recorded  CRC-16 
    value. 
     
    For example, if you  just  received  an archive named "JUNK/ARC" over a 
    phone line, and  you want  to  make sure that you received it properly, 
    you could type: 
     
                                  ARC4 t junk 
     
    Any  errors  that  occur will  be displayed and a total  count will  be 
    given. If no errors occur on a file, it will be displayed as "okay". 
     
                                 ARC4 OPTIONS 
     
     
     
    This section describes  the options which  are available  to modify how 
    ARC4  works.  Any  of  these options can  be combined  with any of  the 
    commands, though the result may not always be  something you'd want  to 
    do. 
     
     
    BACKUP RETENTION 
     
    When ARC4 changes an archive (during an  Add, Update, Move,  or Delete) 
    it  creates a new archive with the same name,  but with an extension of 
    "/TMP". For example, if you add a  file to  an archive named STUFF/ARC, 
    then ARC4 will create  a  new archive  named STUFF/TMP. ARC4 will  read 
    from your  existing archive  and write  out  the  new  archive with any 
    changes to the "/TMP" copy. 
     
    Normally when ARC4 is finished it deletes the original and renames  the 
    new  archive  to  the  original  name  (ie.  STUFF/ARC  goes away,  and 
    STUFF/TMP becomes  the new STUFF/ARC). Among  other things, this  means 
    that  if anything goes wrong and ARC4 is  unable  to finish,  then your 
    original archive will still be intact. 
     
     
    In some circumstances you may  wish to retain the  original  version of 
    the archive as  a backup  copy. You can  do  this  easily  by using the 
    Backup option. Add the letter "B" to your command, and ARC4 will rename 
    your original archive  to  have  an  extension  of  "/BAK"  instead  of 
    deleting it. 
     
     
    In  other  words, if you wanted to add "WASTE/TXT"  to an archive named 
    "JUNK/ARC", but wanted to keep a backup copy, then you would type: 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 11 
     
     
                            ARC4 ab junk waste/txt 
     
    Your original archive  would become "JUNK/BAK", while  "JUNK/ARC" would 
    contain the new "WASTE/TXT" file. 
     
     
    If you keep a backup of an archive which already has a backup, then the 
    older backup copy is deleted. 
     
     
    Note that the  "/TMP"  file and/or the "/BAK" file are kept on the same 
    drive as your "/ARC" file. 
     
     
    ENCRYPTION/DECRYPTION 
     
    Archive  entries may  be  encrypted  and  decrypted  by using  the  "G" 
    (Garble)  option. The Garble option takes the remainder of the  command 
    string as the password to use, so it must be the last option. 
     
     
    For  example, if  you wanted  to add  a file  named  "WASTE/TXT" to  an 
    archive named  "JUNK/ARC", and  you  wanted  to  encrypt  it  using the 
    password "DEBRIS", then you would type: 
     
                         ARC4 agdebris junk waste/txt 
     
    Later on, when you want to extract it again, you would type: 
     
                         ARC4 egdebris junk waste/txt 
     
     
    The password you  supply is used  to encrypt (or decrypt)  the  archive 
    entry  by performing an  exclusive OR between each byte  of the  packed 
    data and each byte of the password. The password can be any length, and 
    each of its  bytes  is used in rotation. The password  is converted  to 
    uppercase before it  is  used, so it is  not case sensitive.  Since the 
    encryption is performed on the packed data, it has no effect on stowage 
    factors. 
     
    This is not a particularly sophisticated means of encryption, and it is 
    theoretically possible to  crack.  Still, since it is  performed on the 
    packed data, the result should be quite sufficient for casual use. 
     
     
    You can, if you wish, use different passwords for different files in an 
    archive, but it  is not  advisable.  If you are  going  to  encrypt  an 
    archive, use  the same password for  every file, and give the  password 
    whenever  you do  anything at all with the archive. It  is possible  to 
    list the entries in an encrypted archive using the "L" and "V" commands 
    without giving the password, but nothing else will work properly. 
     
     
    It  is advisable that you use this option sparingly, if at all.  If you 
    should  forget or mistype your password, it is highly unlikely that you 
    will ever recover your data. 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 12 
     
     
     
                         MS-DOS ARC File Compatibility 
     
     
     
    ARC4  uses the exact  same  conventions in  its file  creation  as does 
    MS-DOS ARC. Therefore, archives created by ARC4 can be read by ARC  and 
    extracted properly. Of course, CMD files and tokenized basic files will 
    not run under MS-DOS. Also, there has been no provision made in ARC4 to 
    add  a  line feed after every  carriage  return.  This  would  make  it 
    difficult for an  MS-DOS  ARC user  to  read  text files extracted from 
    archives  created by ARC4. This is not a problem with ARC4!  Rather, it 
    is  differing conventions  used  in  the  different  computers. An easy 
    solution  would be  for the ARC4  user to first squeeze  the text  file 
    using  SQ4/CMD  and the  new line option.  After unsqueezing  and  then 
    adding to the archive, a line feed would follow every carriage return. 
     
    ARC4 cannot read archives  created by MS-DOS ARC  except in some unique 
    circumstances. A table of contents listing (L,V) would error out on the 
    first encounter  of a file crunched  under  ARC.  It would  also have a 
    problem with the old style headers because it does no conversion to the 
    newer style  header.  Therefore, if the first few  files  are what  you 
    wanted  to obtain AND they were squeezed, packed, or  stored, you would 
    be  able to extract. If the first file in the archive was crunched, you 
    could not  proceed. Watch  for  XARC4 to extract  files from an  MS-DOS 
    archive sometime in January. 
     
     
                               TECHNICAL SUPPORT 
     
     
     
    It should be obvious  by  now that SEA cannot provide technical support 
    even though they wrote the original ARC that ARC4 is based on. They  do 
    not have access to the source  code nor do they have  a  Model IV Tandy 
    computer. ARC4 is NOT in  the  public domain  and  can only be modified 
    with  the  permission  of  the original  copyright holders of  ARC  and 
    myself. Except for providing contributions or obtaining a noncommercial 
    or a  commercial site license,  you  should  not be  contacting SEA for 
    support for ARC4. 
     
    Please address all inquiries concerning ARC4 technical matters to: 
     
                                David Huelsmann 
                                3308 Delamar NE 
                             Albuquerque, NM 87107 
     
                                     or to 
                                    SSE BBS 
                                (505) 821-7379 
                             1200/2400 bps anytime 
                          300 bps after 2400 Mountain 
     
                                     or to 
                              CIS ppn 71525,1363 
     
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 13 
     
     
                                VERSION NUMBERS 
     
     
    The version number of ARC4 is given as follows XX.YY.ZZ. 
     
    XX = a major revision, such as adding a new packing algorithm. 
     
    YY = a minor revision that is not essential, but which may be desired. 
     
    ZZ = a trivial revision that will probably only be desired by  specific 
    individuals or by die-hard "latest version" fanatics. 
     
    ARC4 also displays its date of last edit.  A change of the date without 
    a  corresponding  change  in  version number indicates a truly  trivial 
    change, such as fixing a spelling error. 
     
     
                         COMMON QUESTIONS AND ANSWERS 
     
     
     
    Q: Why isn't crunching available in ARC4? Crunching is much faster. 
     
    A: Actually, crunching isn't really as fast as it looks. Crunching is a 
    one pass operation, while squeezing  requires two passes. ARC  actually 
    does the  crunching during the  analysis pass,  and  puts the  crunched 
    output in a file named "$ARCTEMP.CRN". If crunching turns out to be the 
    best method, then this temporary  file is  copied into the new archive. 
    In other words, when ARC says  "crunching"  it isn't  really crunching, 
    it's just copying a file. 
     
    Also, there are a lot of files  out there that squeeze much better than 
    they crunch. 
     
    Due to the memory limitations of  the  Tandy  Model IV, It  just wasn't 
    possible to add the coding and the tables necessary to handle crunching 
    in ARC4. 
     
     
    Q: Why does ARC4 run out of room if I make an archive bigger than about 
    180k? 
     
    A:  Because  you are working on a floppy  disk. ARC4 creates a copy  of 
    your archive, incorporating any new files as it goes. When  it is done, 
    it  deletes the original and renames the new one. There are a number of 
    reasons for doing it this way, one being that  your original archive is 
    still intact if anything happens while ARC4 is running. 
     
    If you need  to  make a larger archive,  and if  you have a fixed disk, 
    then you can create the  archive on the fixed disk and then copy  it to 
    the floppy. 
     
     
    Q: Can I use ARC4 to distribute my public domain or freeware program? 
     
    A: Yes, of course. 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 14 
     
     
     
    Q: Can I use ARC4 to distribute my commercial software package? 
     
    A: Yes. Please contact SEA for a commercial distribution license. 
     
     
    Q: I'm a commercial user. Why should I pay for freeware that others get 
    for free? 
     
    A: Because you cannot credibly plead poverty.  Freeware, all  freeware, 
    is an attempt to  develop a  new marketing channel to  the  benefit  of 
    everyone.  You can still "test drive" freeware for a short period,  but 
    if you decide to use it in your business, then you should pay for it. 
     
     
    Q: Why not allow  me to select which  method of compression I want ARC4 
    to use? 
     
    A: It would needlessly complicate ARC4, both internally and in use. The 
    exact nature of  the compression methods  used  are  complex, and quite 
    different. The only sure way to  tell which  will be best in any  given 
    case is to analyze the data, as  ARC4 does.  The method chosen may  not 
    always be what you expect. 
     
     
    Q: How can I get the latest version of ARC4? 
     
    A:  ARC4 updates are  distributed through normal freeware channels, and 
    by FidoNet. 
     
     
                               REVISION HISTORY 
     
     
    Version 01.00.00 12/11/86 of ARC4/CMD was released on 12/28/86. 
     
     
                          PROGRAM HISTORY AND CREDITS 
     
     
    ARC4/CMD  is  based  on  ARC  Version   5.1.2   of  System  Enhancement 
    Associates. Thom  Henderson graciously gave his permission to release a 
    modified version of ARC for the TANDY Model IV users on 12/11/86. While 
    a number of  changes and  adaptations had  to  be  made to the existing 
    source  code  (including  eliminating  some  features  like  Lempel-Zev 
    crunching), the  majority of  the program is  the original work of SEA, 
    now,  almost  2 years  old. The  following is the  program  history and 
    credits, as described by SEA, for MS-DOS ARC: 
     
    In its short life thus far,  ARC has astounded us with  its popularity. 
    We first wrote it in March of 1985 because we wanted an archive utility 
    that  used a distributive  directory  approach,  since this has certain 
    advantages over the more popular central  directory  approach. We added 
    automatic  squeezing in  version  2 at  the  prompting of  a friend. In 
    version 2.1 we added the code to test for the best  compression method. 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 15 
     
    Now  (in  October of 1985) we  find that our humble  little program has 
    spread across the country, and seems to have become a new institution. 
     
    We are thankful for the support and appreciation we have  received.  We 
    hope that you find this program of use. 
     
     
    If we  have achieved greatness,  it is  because we have  stood upon the 
    shoulders of giants. Nothing is created as a thing unto itself, and ARC 
    is  no  exception.  Therefore,  we  would like  to give  credit  to the 
    following people, without whose efforts ARC could not exist: 
     
     
     Brian W. Kernighan and P.  J. Plauger,  whose  book  "Software  Tools" 
    provided many of the  ideas behind  the distributive directory approach 
    used by ARC. 
     
    Dick Greenlaw,  who  wrote the  public domain  SQ and USQ  programs, in 
    which the Huffman squeezing algorithm was first developed. 
     
    Robert J. Beilstein, who adapted SQ and USQ to Computer Innovations C86 
    (the language we  use), thus providing us with important  parts of  our 
    squeezing logic. 
     
    Kent Williams, who  graciously allowed us to  use his LZWCOM and LZWUNC 
    programs  as a basis for our  Lempel-Zev  compression  logic,  and  who 
    continues to make valuable contributions. 
     
    David Schwaderer,  whose article  in the  April  1985 issue of PC  Tech 
    Journal  provided us with  the  logic for calculating  the  CRC  16 bit 
    polynomial. 
     
    Terry  A. Welch, whose  article "A Technique for  High Performance Data 
    Compression",  IEEE Computer Vol  17  No 6 (June  1984)  seems  to have 
    started all the research on Lempel-Zev coding. 
     
    Spencer W. Thomas,  Jim McKie,  Steve Davies,  Ken  Turkowski, James A. 
    Woods, and Joe Orost, who are the authors of the UNIX compress utility. 
     
     
    And many, many others whom we could not identify. 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 16 
     
     
                                 SITE LICENSE 
     
     
    Corporate  users may wish to obtain a site license for the use of ARC4. 
    Please use the order form in this manual to order  a site license. Site 
    licenses are granted as of when SEA receives your payment. License fees 
    vary depending on the number of  computers on  which ARC4 will be used, 
    as follows: 
     
                           1 to  9 copies  $35 each 
                           10 to 24 copies  $25 each 
                           25 to 49 copies  $20 each 
                           50 to 99 copies  $15 each 
                      over  99 copies  $1500 one time fee 
     
     
    The following page is a site license  agreement, which should be signed 
    and sent with your payment when ordering a commercial site license. 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 17 
     
     
                            Site License Agreement 
     
    The  use of ARC4 in a commercial environment or government organization 
    is granted under the following terms: 
     
    1.   Payment of the license fee  must  be  made  to  System Enhancement 
    Associates. The fee is based on  the number of  computers which will be 
    used to run ARC, as follows: 
     
                           1 to  9 copies  $35 each 
                           10 to 24 copies  $25 each 
                           25 to 49 copies  $20 each 
                           50 to 99 copies  $15 each 
                      over  99 copies  $1500 one time fee 
     
    2.  You may use ARC4 on the number of computers included in the license 
    fee. If you have paid the fee for over 99 copies, then you may use ARC4 
    on any number of computers within your organization. 
     
    3.  You may  make copies of the  program,  in its original,  unmodified 
    form, without  restriction.  You  may distribute  these  copies  of the 
    program without restriction. 
     
    4.  If these copies are distributed  outside of your organization,  you 
    have no obligation to control the use of those copies which are outside 
    of your organization. 
     
    5.    You  may make  copies of the  program  documentation, in both its 
    printed form and machine readable form, without restriction. 
     
    6.  You may use future versions of ARC4 under this license. 
     
    7.  You  may  NOT  modify  the program  or charge  a fee for copying or 
    distributing the program. 
     
    8.   It  is your responsibility to make  the  necessary  copies  and to 
    deliver them to the computers which they will be used on. 
     
     
     
    I agree to abide by the terms and conditions of this license. 
     
     
     _____________________________         __________________________ 
             Signature                             Date 
     
    _____________________________ 
      Name (please print or type) 
     
    _____________________________ 
             Title 
     
    _____________________________ 
           Company 
     
     
 
 
 
 
 
 
                                   ARC4/CMD 
    Documentation                                          Page 18 
     
                                  ORDER FORM 
     
     
     
    Check which items you wish to purchase: 
     
    (_) Noncommercial license for the use of ARC4. 
     
    (_) Commercial license for the use of ARC4  on ___ computers (see price 
    schedule and terms on preceding page). 
     
    (_) Payment of $_____ is enclosed (check or money order). 
     
    (_) Please charge $_____ to my (_) Visa or (_) MasterCard: 
     
    Card number: ______________________________ 
     
    Expiration date: __________________________ 
     
    _______________________________________________ 
    Name 
     
    _______________________________________________ 
     
     
    _______________________________________________ 
    Address 
     
    ______________________   ________  ____________ 
    City                     State     Zip 
     
    _______/_______ 
    FidoNet address 
     
     
    Send this completed form to: 
     
                         System Enhancement Associates 
                                 21 New Street 
                               Wayne, NJ   07470 
     
    For commercial site license orders, please enclose a signed copy of the 
    site license agreement. 
     
     
                                                                                                                  